Many web sites available on the Internet allow searches for entities such as people, businesses, and other organizations. For example, a person at a web browser may connect to a web service such as Google Maps®, enter a query such as “pizza in Livingston, Mont.,” and receive a list of pizza parlors along with an address, phone number, and a Uniform Resource Locator (URL) for each restaurant.
This contact information is very useful, but hard to take away from the web browser. The user can copy it by hand to paper, which can take a long time, or print the full web page, which often fills the printed page with extraneous information. The user can select the contact information in the web page to copy and paste the information in another application for easier handling. The application may be an address book such as Microsoft Outlook® or even a simple word processor where the user can edit and print the information. Pasting has its own problems, though, because contact information on a web page is typically encoded in HTML, XML, or other markup language, and formatted in ways that cause copied text to be arranged poorly or to look bad when pasted into another application. The contact information may not be perceived as such by the receiving application.
One solution for easily moving contact information from a web page to another application is a plug-in for the web browser that recognizes contact information in a web page and captures it in a simple-to-use format that does not include the HTML formatting and any non-standard arrangements the web page uses. Once captured, the extension can easily arrange and format that contact information for export into other applications where the applications can easily use it.
Recognizing and capturing contact information within a web page is not easy for many of the same reasons it is hard to cut and paste that information: it is embedded in HTML code, often using widely varying techniques from web site to web site. Contact information is also arranged in many different ways depending on web site standards, local customs, and more. Creating a single computer process designed to recognize contact information in all these different settings is a formidable challenge in artificial intelligence.
In addition to contact information, users often desire information related to locations discovered or examined on a map. An interactive map (i.e., one in which the user may zoom and pan to selectively control the displayed location) is a good way to find new places of interest: neighborhood restaurants, stores, parks, schools, and more. Once a user has found a place of interest, he quite often wants more information about that place.
A web browser connected through the Internet to 3rd-party web services provides a powerful resource for information about places. A user can find, for example, reviews of a restaurant, the address of a business, driving instructions to a park, pictures of a school, a place to make on-line reservations for a hotel, and much more.
It can take considerable work, though, to gather that information. The user must know what 3rd-party services exist to provide the information and have a link or Universal Resource Locator (URL) to those services. He must also know how to provide correct search information to those services for meaningful results. Even a knowledgeable web user may take a considerable amount of time to gather useful information about a place on a map.
An interactive map hosted on a web site may be able to provide some help with place information. When a user selects a place on the map, it can provide links to information about that place. Those links provide the URLs for appropriate services and insert correctly formatted place-specific search info in the URL for meaningful results. Server-side interactive maps like this have drawbacks, though: they are often slow in response because map data has to constantly download to the user's computer.
An interactive map self-contained on the user's computer (a client-side interactive map) stores all map data on the computer and does not suffer the slow map presentation drawbacks of server-side interactive maps. They can, like server-side maps, provide links for additional information about selected places on a map. Because the map data is resident on the user's computer, though, those links cannot be constantly updated to ensure that they point to an active service or the best service and that they follow the services' current requirements for search information formatting. For example, a map on a user's computer may have links that point to a service that has gone out of business that point to a service's no-longer-valid URL, or that present street address search information in a format that a service no longer recognizes.